package com._3are.basicas;

import java.util.Collection;

import javax.persistence.CollectionTable;
import javax.persistence.Column;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.Table;

import com._3are.comum.ObjetoGeral;
@Entity
@Table(name="TB_Pessoa")
@Inheritance(strategy=InheritanceType.JOINED)
public abstract class Pessoa  extends ObjetoGeral {

	@Column(length=100, nullable=false,name="pessoa_nome")
	private String nome;
	@Column(length=15, nullable=false, name="Pessoa_CPF_CNPJ", unique=true)
	private String documento1;
	@Column(length=15, name="pessoa_rg_INSCESTADUAL")
	private String documento2;	
	private Endereco endereco;
	@ElementCollection
	@CollectionTable(name="TB_Telefone_Pessoas", joinColumns=@JoinColumn(name="pessoa_id")) @Column(name="Telefone")	
	private Collection<String> telefones;
	@ElementCollection
	@CollectionTable(name="TB_Emails_Pessoas", joinColumns=@JoinColumn(name="pessoa_id")) @Column(name="email")
	private Collection<String> emails;

	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}

	public Endereco getEndereco() {
		return endereco;
	}
	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}
	public Collection<String> getTelefones() {
		return telefones;
	}
	public void setTelefones(Collection<String> telefones) {
		this.telefones = telefones;
	}
	public Collection<String> getEmail() {
		return emails;
	}
	public void setEmail(Collection<String> emails) {
		this.emails = emails;
	}
	public String getDocumento1() {
		return documento1;
	}
	public void setDocumento1(String documento1) {
		this.documento1 = documento1;
	}
	public String getDocumento2() {
		return documento2;
	}
	public void setDocumento2(String documento2) {
		this.documento2 = documento2;
	}

}
